package com.example.yk2021xm04.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.example.yk2021xm04.pojo.Project;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.yk2021xm04.query.ProjectQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ZengQi
 * @since 2021-11-26
 */
public interface IProjectService extends IService<Project> {

    Map<String, Object> projectList(ProjectQuery projectQuery);

    void deleteProject(Integer[] ids);

    void addProject(Project project);

    void updateProject(Project project);

    IPage<Project> findProjectByPage(IPage<Project> page, Integer userId, @Param(Constants.WRAPPER) QueryWrapper<Project> wrapper);

    void quitProject(Integer id);

    void joinProject(String inviteUrl);

    List<Object> createTimeByDay();

    List<Object> createCountByDay();

    Integer ProjectCountInDay();
}
